package 所有的题类.F.树;

import 所有的题类.ZA.链表.TreeNode;

import java.util.ArrayList;
import java.util.List;

public class 路径总和II {

    public static void main(String[] args) {
        System.out.println(Long.toBinaryString(Long.MAX_VALUE));

        //1111 1111 1111 1111 1111 1111 11111 11111 11111 11111 11111111111111
        Integer c=0;
        c=tt("建筑",c);
        //c=tt("医疗",c);
        c=tt("广告",c);
        c=tt("外包",c);
        System.out.println(Integer.toBinaryString(c));
    }
    /**
     * 给你二叉树的根节点 root 和一个整数目标和 targetSum ，找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。
     *
     * 叶子节点 是指没有子节点的节点。
     *
     * 示例 1：
     *
     * 输入：root = [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum = 22
     * 输出：[[5,4,11,2],[5,8,4,5]]
     * 示例 2：
     *
     * 输入：root = [1,2,3], targetSum = 5
     * 输出：[]
     * 示例 3：
     *
     * 输入：root = [1,2], targetSum = 0
     * 输出：[]
     *
     * 来源：力扣（LeetCode）
     * 链接：https://leetcode-cn.com/problems/path-sum-ii
     * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
     */

    public List<List<Integer>> pathSum(TreeNode root, int targetSum) {

        return new ArrayList<>();
    }

    public void digui(TreeNode root,int targetSum,List<List<Integer>> all){

        if(root==null){
            return;
        }

        digui(root.left,targetSum,all);
        digui(root.right,targetSum,all);
    }


    public static Integer tt(String name,Integer c){
        // 1111 依次代表建筑，医疗，广告，外包
        if(name.equals("建筑")){
            c|=8;
        }
        if(name.equals("医疗")){
            c|=4;
        }
        if(name.equals("广告")){
            c|=2;
        }
        if(name.equals("外包")){
            c|=1;
        }
        return c;
    }
}
